「医院からのお知らせ」を「医院のカレンダー」に置き換える目論見ですが、いまだ、採用ならず。(>_<)
今回、レスポンスを改善する為、MySQLの利用をあきらめ、テキストファイル(CSV形式)をデータベースとして利用するようにPHPプログラムを見直しました。
PHPではCSVファイルを扱うための関数が用意されていました。
fgetcsv()関数は、現在のファイルポインタから1行毎にテキストを 取得し、指定した区切り文字で分割した配列を返します。
fputcsv()関数は、複数セルにあたるテキストの配列を、1行ごとに、現在のファイルポインタへ書き出します。
CSV形式をはじめ、タブ区切り テキストなどを処理するのに適しています。
予定の追加・変更・削除は、管理者用のURLから行ってもらいます。
便利な、fputcsv()関数ですが、半角ダブルクォーテーションや半角カンマなどのCSV予約文字、及びPHP予約文字のエスケープ処理に問題あり。
ローカル環境ではダブルクォーテーション(“)でエスケープするのに対し、同じソースをWeb環境にアップして動かすと、バックスラッシュ(\)でエスケープ処理される現象が・・・。
(どちらもエスケープが必要なセルはダブルクォーテーションで囲まれます。)
たぶん、PHPサーバの動作に違いがあるのでしょう(バージョン?設定?)が、よくわからず。
Webサーバでfputcsv()関数がバックスラッシュ(\)でエスケープ処理するのは、そのまま受け入れ、fgetcsv()関数で、読み込み後に、stripcslashes()関数で、エスケープ文字を除去することで対策としました。
stripcslashes()関数に関しては、以下のサイトを参考にさせていただきました。
エスケープ文字除去
今回、予定の背景色は20色(+無色)から選択できるようにしました。
それ以外は、見た目は変更していません。
・・・Webサーバにアップ後、しばらく試用。
やはり自分ひとりが使うローカルサーバとは違い、複数人が共用しているWebサーバでは、PHPサーバ処理だけでも遅い時があるようです。
それでも、MySQLを使っていた時と比べれば雲泥の差!
・・・まあ、プログラムが適当なので、データが増えたら、遅くなるかも知れません・・・オイオイ!
現状では、CSVファイルにして正解でした。(^^;